<?php
require_once '../clases/conexion.php';
require_once '../clases/compilador.php';
require_once '../clases/sintaxis.php';
$programa = $_GET["cadenaVariables"] . $_GET["txtSolucion"];
$transaccion = $_GET["transaccion"];
$transaccionErrores = $_GET["transaccionPrincipal"];
$con = new MySQL;
$compila = new compila;
$sintaxis = new sintaxis;
$sintaxis->conexion($con);
$compila->conexion($con);
$compila->transaccionError = $transaccionErrores;
if ($_GET["txtSolucion"] == "") {
    $compila->publicaError("sin datos");
}
$programa = preg_replace("'(\r\n)'", "", $programa);
$programa = str_replace("\\\\", "@", $programa);
$programa = str_replace("\\", "", $programa);
$programa = explode(";", $programa);
$tmp = trim(end($programa));
if (strlen($tmp) > 1)
    $tmp = substr($tmp, -1, 1);
foreach ($programa as $prog) {
    if ($compila->error)
        break;
    $compila->limpia(';');
    $prog = trim($prog);
    $mensaje = "";
    for ($i = 0; $i < strlen($prog); $i++) {
        $tmp = (($i + 1) < strlen($prog)) ? $prog[$i + 1] : "";
        $tmp = $compila->nuevoCaracter($prog[$i], $tmp);
        if ($tmp > 0)
            $i = $i + $tmp;
        if ($compila->error)
            break;
    }
}
$compila->limpia(';');  //Se hace el llamado para terminar
if (!$compila->mostrar()) {
    //inicia el proceso de sintaxis
    $sintaxis->analizar($compila->programa, $compila->compiladoPrograma, $transaccion,$transaccionErrores,$compila);
    if ($sintaxis->mostrar()) { //No ocurrio ningun problema en la sintaxis
        $sql = "insert into temporal(transaccion,tempText1,tempVarchar1,tempIndVar1) values(";
        $tmp1 = mysql_real_escape_string($compila->programa);
        $tmp2 = mysql_real_escape_string($compila->compiladoPrograma);
        $sql .= "$transaccion,'$tmp1','$tmp2','resultados')";
    }
}
echo '1';
?>
